# 要顺利连接到MySQL，需要在windows下执行如下命令，linux下还未尝试过。python -m pip install mysql-connector 。这个过程可能会有点长，耐心等待即可。
import mysql.connector


mydb = mysql.connector.connect(
    host="106.55.23.191",  # 数据库主机地址
    user="root",  # 数据库用户名
    passwd="ABCabc123!",  # 数据库密码
    database="python_db"  # 数据库名
)

mycursor = mydb.cursor()
# mycursor.execute("CREATE DATABASE python_db") # 创建数据库
# mycursor.execute("SHOW DATABASES")  # 展示所有数据库
# mycursor.execute("CREATE TABLE sites (name VARCHAR(255), url VARCHAR(255))") # 创建数据表
mycursor.execute("SELECT * FROM sites") # 操作数据表
# mycursor.execute("ALTER TABLE sites ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY") # 给表添加自增主键
'''
单条数据插入
sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = ("RUNOOB", "https://www.runoob.com")
mycursor.execute(sql, val)
mydb.commit()  # 数据表内容有更新，必须使用到该语句
'''
'''
批量插入
sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = [
  ('Google', 'https://www.google.com'),
  ('Github', 'https://www.github.com'),
  ('Taobao', 'https://www.taobao.com'),
  ('stackoverflow', 'https://www.stackoverflow.com/')
]
mycursor.executemany(sql, val)
mydb.commit()    # 数据表内容有更新，必须使用到该语句
'''


# 循环遍历打印 mycursor 变量返回的结果集
for x in mycursor:
    print(x)

'''
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall(): 接收全部的返回结果行.
rowcount: 这是一个只读属性，并返回执行execute()方法后影响的行数。
'''